python remove n random elements from a list

45

# Formula to delete n random elements from a list:
import random
def delete_random_elems(input_list, n):
    to_delete = set(random.sample(range(len(input_list)), n))
    return [x for i,x in enumerate(input_list) if not i in to_delete]

# Note, this function doesn't take a seed value, so it will be different
# 	every time you run it. 
  
# Example usage:
your_list = ['so', 'many', 'words', 'I', 'want', 'to', 'sample']
delete_rand_items(your_list, 3) # Randomly delete 3 elements from the list
--> ['so', 'many', 'want', 'sample']

Comments

Submit
0 Comments